#include <iostream>
#include <queue>
using namespace std;

const int kMaxN = 1e5 + 10;

int a[kMaxN * 3];

void Solve(int n) {
  deque<int> deq;

  for (int i = 0, j = 0; i < n; i++) {
    for (; j < i + 2 * n; j++) {
      if (!deq.empty() && a[deq.front()] > a[j] * 2) {
        break;
      }
      for (; !deq.empty() && a[deq.back()] <= a[j]; deq.pop_back());
      deq.push_back(j);
    }
    if (j - i >= 2 * n) {
      cout << "-1 ";
    } else {
      cout << j - i << " ";
    }
    if (!deq.empty() && deq.front() == i) {
      deq.pop_front();
    }
  }
}

int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n;

  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    a[i + 2 * n] = a[i + n] = a[i];
  }
  Solve(n);
  return 0;
}